package com.java.demo.controller;

import com.java.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

@Controller
public class UserController2 {
    //构造方法注入（官方更为推荐）
    //优点：
    //    1.可以注入final修饰的对象
    //    （为什么呢？java规定被final修饰的对象，必须满足两个条件中的任一个：a.final对象，要么直接赋值 b.要么构造方法赋值。
    //    2.注入对象不会被改变
    //    3.可以保证注入对象完全被初始化
    //    4.兼容性好的一
    private final UserService userService;

    @Autowired
    public UserController2(UserService userService) {
        this.userService = userService;
    }

    public void hello (){
        System.out.println("UserController1");
        userService.hello();
    }
}
